package com.boe.common.mvc;

//import io.swagger.annotations.ApiModelProperty;
import lombok.*;

import javax.validation.Valid;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Map;

/**
 * 列表分页请求体
 *
 * @author zhangpp
 */
@Data
public class ListPageRequest<T> implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 页码数，从1开始的页码数
     */
//    @ApiModelProperty("页码数，从1开始的页码数")
    @NotNull(message = "页码数不能为空")
    @Min(value = 1, message = "页数不能小于0")
    private Integer pageNo;

    /**
     * 每页条数
     */
//    @ApiModelProperty("每页条数")
    @NotNull(message = "每页条数不能为空")
    @Min(value = 1, message = "每页数据不能小于1")
    private Integer pageSize;

    /**
     * 查询条件对象，key:value
     */
//    @ApiModelProperty("查询条件")
    @Valid
    private T queryBody;

    /**
     * 排序信息。其中 asc 是顺序(默认，也是非 desc)， desc 是倒序。
     */
//    @ApiModelProperty("排序信息")
    private Map<String, String> order;

}